package cn.lhjl.day06.note;
/*
* 集合：集合是java提供的一种容器，可以用来存储多个数据。
* 集合和数组的区别：
* 1.数组的长度是固定的，集合的长度是可变的。
* 2.数组中存储的是同一类型元素，也可以存储基本数据类型。集合存储的是对象，而对象的类型可以不一致。
* 在开发中一般当对象多时候，使用集合进行存储。
*
*学习目标：
* 1.会使用集合存储元素
* 2.会遍历集合，把数据取出来
* 3.掌握每种集合的特性
*
* 集合框架学习方式：
* 1.顶层学习：学习顶层接口/抽象类中共性的方法，所有子类都可以使用。
* 2.使用底层：顶层不是劫接口就是抽象类，，无法创建对象时使用，需要使用底层子类创建对象使用
* Collection接口：1.定义的是所有单列集合中共性的方法2.所有单列集合都可以使用共性的方法（没有索引的方法）
* List接口 ：1.有序的集合（存储和取出（遍历）元素顺序相同）2.允许元素重复 3.有索引，也可以使用普通的for循环遍历。
* Set： 1.不允许存储重复元素 2.没有索引（不能使用for循环遍历）3.TreeSet和HashSet都是无序的（存储和取出元素可能不一致）LinkedHashSet集合有序
*
*
*Collection集合中的方法（单列集合的共性方法）
*
* 1.public boolean add(E e);    把给定的对象添加到当前集合中。
* 2.public boolean remove(E e)  把给定的对象在当前集合中删除
* 3.public boolean IsEmpty()    判断当前集合是否为空
* 4.public boolean contains(E e)判断当前集合是否包含给定的对象
* 5.public void clear()         清空结合中所有的元素
* 6.public int size()           返回集合中元素的个数
* 7.public Object[] toArray()   把集合中的元素，存储到数组中并返回数组的引用。 例如：Object[] array = list.toArray();
*
*
* java.util.Iterator接口：迭代器（对集合进行遍历）
* 有两个常用的方法：
*     boolean hasNext（）如果没有元素迭代则返回true。
*        判断集合中还有没有下一个元素，有就返回true，没有就返回false。
*     E next（）返回迭代的下一个元素。
*        取出集合的下一个元素
* Iterator迭代器，是一个接口，我们无法直接使用，需要使用Iterator接口的实现类对象，获取实现类的方式比较特殊
* Collection接口中有一个方法，叫iterator()，这个方法返回的就是迭代器的实现类对象
*     Iterator<E> iterator()返回在此collection的元素上进行迭代的迭代器。
*
* 迭代器使用的步骤（重点）：
* 1.使用集合中的iterator（）方法获取迭代器的实现类对象，使用Iterator接口接收（多态）
* 2.使用Iterator接口中的方法hasNext判断还有没有下一个元素。（指针一开始指向-1的位置）
* 3.使用Iterator接口中的方法next取出集合中的下一个元素
*
* 增强for循环：底层使用的也是迭代器，试试用for循环格式。简化了迭代器的书写
* 是JDK1.5之后出现的新特性
* Collection<E>extends Iterable<E>:所有的单列集合都可以使用for（只要实现了Ite
* ratble这个接口的类的对象都能使用增强for循环，因为有Iterator方法）
* 增强for：用来遍历集合和数组
* 格式：
*     for(集合/数组的变量类型 变量名：集合名/数组名){
*         sout(变量名)
*     }
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
* */
public class 集合 {
}
